import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import axios from 'axios'
// import VueAxios from 'vue-axios'
import ElementUI, { MessageBox } from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import './registerServiceWorker'

// Vue.prototype.$axios = axios
axios.defaults.baseURL = 'http://localhost:8010/stasys_v3/'
    // axios.defaults.headers.post['Content-Type'] = 'application/json'
    // axios.defaults.withCredentials = true // //意思是携带cookie信息,保持session的一致性
    // Vue.use(VueAxios, axios)
    //axios-添加请求拦截器interpetor
axios.interceptors.request.use(
    function(config) {
        //在发送请求之前,要做的事情
        var token = localStorage.getItem('token')
            // console.log(token)
        if (token && token != '') {
            config.headers['token'] = token
        }
        // console.log(config)
        return config
    },
    function(err) {
        //错误处理
        return Promise.reject(err)
    }
)

axios.interceptors.response.use(
    function(response) {
        // console.log('拦截器')
        // console.log(response)
        if (response.data && response.data.state == false) {
            //清除token
            localStorage.removeItem('token')
            localStorage.removeItem('email')
                //转到登录界面
            MessageBox.alert('登录失效,请重新登录！')
            router.push('/login')//跳转到登录页面
            return false
        }
        return response
    },
    function(error) {
        // 超出 2xx 范围的状态码都会触发该函数。
        // 对响应错误做点什么
        return Promise.reject(error)
    }
)

Vue.prototype.$axios = axios
Vue.use(ElementUI)
Vue.config.productionTip = false

new Vue({
    router,
    store,
    render: (h) => h(App),
}).$mount('#app')